package com.qikecn.update;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public final class HttpClientUtil {
	
	/**
	 * post请求，utf8编码
	 * @param strUrl
	 * @param writeStr
	 * @return
	 */
	public static String simpleHttpPost(String strUrl, String writeStr) {
		URL url = null;
		HttpURLConnection conn = null;
		BufferedReader reader = null;
		BufferedOutputStream out = null;
		try {
			url = new URL(strUrl);
			byte[] writeByte = writeStr.getBytes("UTF-8");
			conn = (HttpURLConnection) url.openConnection();
			conn.setUseCaches(false);
			conn.setConnectTimeout(5000);
			conn.setDoInput(true);
			conn.setDoOutput(true);
			conn.setReadTimeout(10000);
			conn.setRequestMethod("POST");
			//conn.setRequestProperty("Content-Type", "text/html;charset=UTF-8");
			conn.setRequestProperty("Content-Length", String.valueOf(writeByte.length));
			out = new BufferedOutputStream(conn.getOutputStream());
			out.write(writeByte);
			out.flush();
			reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			StringBuffer buffer = new StringBuffer();
			String line = null;
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}
			String result = buffer.toString();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			try {
				if(out != null){
					out.close();
				}
				if(reader != null){
					reader.close();
				}
			} catch (Exception e2) {
				// TODO: handle exception
				e2.printStackTrace();
			}
			if (conn != null) {
				conn.disconnect();
			}
		}
	}

	/**
	 * post请求，utf8编码
	 * @param strUrl
	 * @return
	 */
	public static String simpleHttpGet(String strUrl) {
		URL url = null;
		HttpURLConnection conn = null;
		BufferedReader reader = null;
		//BufferedOutputStream out = null;
		try {
			url = new URL(strUrl);
			conn = (HttpURLConnection) url.openConnection();
			conn.setUseCaches(false);
			conn.setConnectTimeout(5000);
			conn.setDoInput(true);
			//conn.setDoOutput(true);
			conn.setReadTimeout(10000);
			conn.setRequestMethod("GET");
			//conn.setRequestProperty("Content-Type", "text/html;charset=UTF-8");
			//conn.setRequestProperty("Content-Length", String.valueOf(writeByte.length));
			//out = new BufferedOutputStream(conn.getOutputStream());
			//out.write(writeByte);
			//out.flush();
			reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			StringBuffer buffer = new StringBuffer();
			String line = null;
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}
			String result = buffer.toString();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			try {
				/*if(out != null){
					out.close();
				}*/
				if(reader != null){
					reader.close();
				}
			} catch (Exception e2) {
				// TODO: handle exception
				e2.printStackTrace();
			}
			if (conn != null) {
				conn.disconnect();
			}
		}
	}
}